package com.web.base.open.facade;

import com.blue.jdbc.Page;
import com.web.base.open.message.RoleRequest;
import com.web.base.open.message.RoleResponse;
import com.web.base.open.message.RoleUrlRequest;
import com.web.base.open.message.UrlResponse;

import java.util.List;
import java.util.Map;

/**
 * 开放平台角色接口
 * 
 * @author 代码由 blue-code 框架生成
 * @since 1.0 2017年02月27日
 */
public interface RoleFacade
{

	/**
	 * 添加开放平台角色
	 */
	RoleResponse add(RoleRequest request);

	/**
	 * 更新开放平台角色
	 */
	RoleResponse update(RoleRequest request);
	
	/**
	 * 查询单个开放平台角色
	 */
	RoleResponse get(Integer id);
	
	/**
	 * 查询开放平台角色，分页
	 */
	Page<RoleResponse> listPage(RoleRequest request, int start, int size);
	
	/**
	 * 查询开放平台角色关联的链接
	 */
	Map<String, List<UrlResponse>> listSelect(Integer id);
	
	/**
	 * 保存开放平台角色-链接关联关系
	 */
	void saveRoleUrl(RoleUrlRequest request);

	/**
	 * 刷新缓存
	 */
	void refresh();
	
}
